package com.sz.stock.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class StockOhclExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StockOhclExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andStockchangeIdIsNull() {
            addCriterion("STOCKCHANGE_ID is null");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdIsNotNull() {
            addCriterion("STOCKCHANGE_ID is not null");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdEqualTo(Integer value) {
            addCriterion("STOCKCHANGE_ID =", value, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdNotEqualTo(Integer value) {
            addCriterion("STOCKCHANGE_ID <>", value, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdGreaterThan(Integer value) {
            addCriterion("STOCKCHANGE_ID >", value, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("STOCKCHANGE_ID >=", value, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdLessThan(Integer value) {
            addCriterion("STOCKCHANGE_ID <", value, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdLessThanOrEqualTo(Integer value) {
            addCriterion("STOCKCHANGE_ID <=", value, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdIn(List<Integer> values) {
            addCriterion("STOCKCHANGE_ID in", values, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdNotIn(List<Integer> values) {
            addCriterion("STOCKCHANGE_ID not in", values, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdBetween(Integer value1, Integer value2) {
            addCriterion("STOCKCHANGE_ID between", value1, value2, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockchangeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("STOCKCHANGE_ID not between", value1, value2, "stockchangeId");
            return (Criteria) this;
        }

        public Criteria andStockCodeIsNull() {
            addCriterion("STOCK_CODE is null");
            return (Criteria) this;
        }

        public Criteria andStockCodeIsNotNull() {
            addCriterion("STOCK_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andStockCodeEqualTo(String value) {
            addCriterion("STOCK_CODE =", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeNotEqualTo(String value) {
            addCriterion("STOCK_CODE <>", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeGreaterThan(String value) {
            addCriterion("STOCK_CODE >", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeGreaterThanOrEqualTo(String value) {
            addCriterion("STOCK_CODE >=", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeLessThan(String value) {
            addCriterion("STOCK_CODE <", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeLessThanOrEqualTo(String value) {
            addCriterion("STOCK_CODE <=", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeLike(String value) {
            addCriterion("STOCK_CODE like", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeNotLike(String value) {
            addCriterion("STOCK_CODE not like", value, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeIn(List<String> values) {
            addCriterion("STOCK_CODE in", values, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeNotIn(List<String> values) {
            addCriterion("STOCK_CODE not in", values, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeBetween(String value1, String value2) {
            addCriterion("STOCK_CODE between", value1, value2, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockCodeNotBetween(String value1, String value2) {
            addCriterion("STOCK_CODE not between", value1, value2, "stockCode");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenIsNull() {
            addCriterion("STOCKCHANGE_OPEN is null");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenIsNotNull() {
            addCriterion("STOCKCHANGE_OPEN is not null");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_OPEN =", value, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenNotEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_OPEN <>", value, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenGreaterThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_OPEN >", value, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_OPEN >=", value, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenLessThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_OPEN <", value, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_OPEN <=", value, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_OPEN in", values, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenNotIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_OPEN not in", values, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_OPEN between", value1, value2, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeOpenNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_OPEN not between", value1, value2, "stockchangeOpen");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighIsNull() {
            addCriterion("STOCKCHANGE_HIGH is null");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighIsNotNull() {
            addCriterion("STOCKCHANGE_HIGH is not null");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_HIGH =", value, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighNotEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_HIGH <>", value, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighGreaterThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_HIGH >", value, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_HIGH >=", value, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighLessThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_HIGH <", value, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_HIGH <=", value, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_HIGH in", values, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighNotIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_HIGH not in", values, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_HIGH between", value1, value2, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeHighNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_HIGH not between", value1, value2, "stockchangeHigh");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseIsNull() {
            addCriterion("STOCKCHANGE_CLOSE is null");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseIsNotNull() {
            addCriterion("STOCKCHANGE_CLOSE is not null");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_CLOSE =", value, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseNotEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_CLOSE <>", value, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseGreaterThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_CLOSE >", value, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_CLOSE >=", value, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseLessThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_CLOSE <", value, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_CLOSE <=", value, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_CLOSE in", values, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseNotIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_CLOSE not in", values, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_CLOSE between", value1, value2, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeCloseNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_CLOSE not between", value1, value2, "stockchangeClose");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowIsNull() {
            addCriterion("STOCKCHANGE_LOW is null");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowIsNotNull() {
            addCriterion("STOCKCHANGE_LOW is not null");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_LOW =", value, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowNotEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_LOW <>", value, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowGreaterThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_LOW >", value, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_LOW >=", value, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowLessThan(BigDecimal value) {
            addCriterion("STOCKCHANGE_LOW <", value, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCKCHANGE_LOW <=", value, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_LOW in", values, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowNotIn(List<BigDecimal> values) {
            addCriterion("STOCKCHANGE_LOW not in", values, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_LOW between", value1, value2, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockchangeLowNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCKCHANGE_LOW not between", value1, value2, "stockchangeLow");
            return (Criteria) this;
        }

        public Criteria andStockIdIsNull() {
            addCriterion("STOCK_ID is null");
            return (Criteria) this;
        }

        public Criteria andStockIdIsNotNull() {
            addCriterion("STOCK_ID is not null");
            return (Criteria) this;
        }

        public Criteria andStockIdEqualTo(Integer value) {
            addCriterion("STOCK_ID =", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdNotEqualTo(Integer value) {
            addCriterion("STOCK_ID <>", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdGreaterThan(Integer value) {
            addCriterion("STOCK_ID >", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("STOCK_ID >=", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdLessThan(Integer value) {
            addCriterion("STOCK_ID <", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdLessThanOrEqualTo(Integer value) {
            addCriterion("STOCK_ID <=", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdIn(List<Integer> values) {
            addCriterion("STOCK_ID in", values, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdNotIn(List<Integer> values) {
            addCriterion("STOCK_ID not in", values, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdBetween(Integer value1, Integer value2) {
            addCriterion("STOCK_ID between", value1, value2, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdNotBetween(Integer value1, Integer value2) {
            addCriterion("STOCK_ID not between", value1, value2, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceIsNull() {
            addCriterion("STOCK_NEWPRICE is null");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceIsNotNull() {
            addCriterion("STOCK_NEWPRICE is not null");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceEqualTo(BigDecimal value) {
            addCriterion("STOCK_NEWPRICE =", value, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceNotEqualTo(BigDecimal value) {
            addCriterion("STOCK_NEWPRICE <>", value, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceGreaterThan(BigDecimal value) {
            addCriterion("STOCK_NEWPRICE >", value, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCK_NEWPRICE >=", value, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceLessThan(BigDecimal value) {
            addCriterion("STOCK_NEWPRICE <", value, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOCK_NEWPRICE <=", value, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceIn(List<BigDecimal> values) {
            addCriterion("STOCK_NEWPRICE in", values, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceNotIn(List<BigDecimal> values) {
            addCriterion("STOCK_NEWPRICE not in", values, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCK_NEWPRICE between", value1, value2, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNewpriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOCK_NEWPRICE not between", value1, value2, "stockNewprice");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeIsNull() {
            addCriterion("STOCK_NOWTIME is null");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeIsNotNull() {
            addCriterion("STOCK_NOWTIME is not null");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeEqualTo(String value) {
            addCriterion("STOCK_NOWTIME =", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeNotEqualTo(String value) {
            addCriterion("STOCK_NOWTIME <>", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeGreaterThan(String value) {
            addCriterion("STOCK_NOWTIME >", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeGreaterThanOrEqualTo(String value) {
            addCriterion("STOCK_NOWTIME >=", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeLessThan(String value) {
            addCriterion("STOCK_NOWTIME <", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeLessThanOrEqualTo(String value) {
            addCriterion("STOCK_NOWTIME <=", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeLike(String value) {
            addCriterion("STOCK_NOWTIME like", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeNotLike(String value) {
            addCriterion("STOCK_NOWTIME not like", value, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeIn(List<String> values) {
            addCriterion("STOCK_NOWTIME in", values, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeNotIn(List<String> values) {
            addCriterion("STOCK_NOWTIME not in", values, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeBetween(String value1, String value2) {
            addCriterion("STOCK_NOWTIME between", value1, value2, "stockNowtime");
            return (Criteria) this;
        }

        public Criteria andStockNowtimeNotBetween(String value1, String value2) {
            addCriterion("STOCK_NOWTIME not between", value1, value2, "stockNowtime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}